#pragma once
#include<iostream>
#include<tuple>

#define enum_to_string(x) #x

enum class Color : int { red = 1, green, blue };

void testEnum(){
    std::cout<<"==" enum_to_string(Color::red); 
}

void testTuple() {
    std::tuple<int, std::string, double> t1 = std::make_tuple(1, "Hello", 3.14);  
    std::tuple<int, std::string, double> t2{2, "World", 2.71};
    int i = std::get<0>(t1);  // 获取第一个元素，值为 1  
    std::string s = std::get<1>(t1);  // 获取第二个元素，值为 "Hello"  
    double d = std::get<2>(t1);  // 获取第三个元素，值为 3.14  
  
    // 或者使用类型来获取元素  
    int i2 = std::get<int>(t1);  // 获取第一个元素，值为 1  
    std::string s2 = std::get<std::string>(t1);  // 获取第二个元素，值为 "Hello"
    std::cout<< "value is "<<i << s << d << i2 <<s2 <<std::endl; 
}

